1. Field of the Invention
The present invention relates generally to an improved data processing system and more specifically to a method and apparatus for processing data. Still more particularly, the present disclosure relates to a computer implemented method, apparatus, and computer usable program code for deploying a business application.
2. Description of the Related Art
With the Internet and other networks, the use of application servers has become common place. An application server is a software process that delivers applications to client computers or devices. An application server may be a process in a client and server environment that performs business logic or other logic processing. Typically, the application server performs the logic processing with the client performing the role of a user interface through the use of a browser or other client application.
Application management in this type of environment includes configuring and customizing an application to meet the requirements of end users. This type of configuration and customization may be performed in a development environment. From the development environment, the application may be promoted to a test environment to perform user acceptance testing. From this test environment, an application may be promoted to a production environment in which the application is put into use by end users.
Application management in the context of a rollout into a production environment is a complex process. Many different information technology teams may be involved including, for example, database administrators, server administrators, business application managers, and developers. The deployment of the application into the production environment includes minimizing disruptions to the environment itself. Further, the process may involve optimizing the use of tool and information technology resources. Another goal in this type of process is to reduce the amount of time needed to deliver a complete business application to the end users.
In promoting an application into a user acceptance test environment and/or production environment, a process to perform this promotion may be manual or automated. With a manual process, an application may be promoted using various scripts, exporting and importing data using flat files or extensible markup language formatted files, and checking in and checking out of code from source control systems. An automated rollout of an application into different environments may be used when dedicated application management and change management tools are available. In an automated process, various software application promotion tools may be used in which these tools provide dedicated deployment packages.
Automated tools currently exist from various vendors to deploy an application into a production environment. These types of tools, however, are complex and require larger information technology teams with specialized training and skills to run the tools as compared to a manual process. A number of different tools may be launched and operate in conjunction to promote or move the business application into a production environment further increasing the complexity of the rollout. These tools provide extensive support for the deployment of code-based application artifacts but only limited support for content-based application artifacts.
Therefore, it would be advantageous to have a computer implemented method, apparatus, and computer usable program code to reduce the complexity in deploying a business application into an environment.